/** 
 * @descripcion: modulo configurar concepto
 */

var idConceptoEliminada = -1;
var idConceptoEditada = -1;

idPresupuestal = "0";
idContabledb = "0";
idContablehb = "0";

function loadCC() {
    var loadccdialogs = $("#panelSuperior");
    loadccdialogs.load("ui/html/accounting/cc/dialogAgregarConcepto.html", function() {
        $("#dialog-registrar-concepto").hide();
        $("#dialog-registrar-concepto").dialog({
            resizable: false,
            modal: true,
            autoOpen: false,
            closeOnEscape: false,
            show: 'scale',
            hide: 'explode',
            width: 650,
            buttons: {
                "CANCELAR": function() {
                    $(this).dialog("close");
                },
                "GUARDAR": function() {
                    guardarConcepto();
                }
            }
        });
        $("#txtcuentapresupuestal_rc").autocomplete({
            source: URI_ARISTO + "?node=" + _GET_CUENTAS + "&mod=CONTA&auto=SI&tipo=PRESUPUESTAL&seccion=",
            minLength: 1,
            select: function(event, ui) {
                if (ui.item) {
                    idPresupuestal = ui.item.id;
                } else {
                    idPresupuestal = "0";
                }
            }
        });

        $("#txtcontabledb_rc").autocomplete({
            source: URI_ARISTO + "?node=" + _GET_CUENTAS + "&mod=CONTA&auto=SI&tipo=CONTABLE&seccion=",
            minLength: 1,
            select: function(event, ui) {
                if (ui.item) {
                    idContabledb = ui.item.id;
                } else {
                    idContabledb = "0";
                }
            }
        });
        $("#txtcontablehb_rc").autocomplete({
            source: URI_ARISTO + "?node=" + _GET_CUENTAS + "&mod=CONTA&auto=SI&tipo=CONTABLE&seccion=",
            minLength: 1,
            select: function(event, ui) {
                if (ui.item) {
                    idContablehb = ui.item.id;
                } else {
                    idContablehb = "0";
                }
            }
        });

    });

    loadccdialogs.load("ui/html/accounting/cc/dialogEliminarConcepto.html", function() {
        $("#dialog-eliminar-concepto").hide();
        $("#dialog-eliminar-concepto").dialog({
            resizable: false,
            modal: true,
            autoOpen: false,
            closeOnEscape: false,
            show: "scale",
            hide: 'explode',
            width: 570,
            buttons: {
                "SI": function() {
                    eliminarConcepto();
                },
                "NO": function() {
                    idConceptoEliminada = -1;
                    $(this).dialog("close");
                }
            }
        });
    });

    loadccdialogs.load("ui/html/accounting/cc/dialogEditarConcepto.html", function() {
        $("#dialog-editar-concepto").hide();
        $("#dialog-editar-concepto").dialog({
            resizable: false,
            modal: true,
            autoOpen: false,
            closeOnEscape: false,
            show: "scale",
            hide: 'explode',
            width: 650,
            buttons: {
                "CANCELAR": function() {
                    $(this).dialog("close");
                    idConceptoEditada = -1;
                    //limpiarComponentesCuentaContable();
                },
                "GUARDAR": function() {
                    guardarEdicionConcepto();
                }
            }
        });
        $("#txtcuentapresupuestal_ec").autocomplete({
            source: URI_ARISTO + "?node=" + _GET_CUENTAS + "&mod=CONTA&auto=SI&tipo=PRESUPUESTAL&seccion=",
            minLength: 1,
            select: function(event, ui) {
                if (ui.item) {
                    idPresupuestal = ui.item.id;
                } else {
                    idPresupuestal = "0";
                }
            }
        });

        $("#txtcontabledb_ec").autocomplete({
            source: URI_ARISTO + "?node=" + _GET_CUENTAS + "&mod=CONTA&auto=SI&tipo=CONTABLE&seccion=",
            minLength: 1,
            select: function(event, ui) {
                if (ui.item) {
                    idContabledb = ui.item.id;
                } else {
                    idContabledb = "0";
                }
            }
        });
        $("#txtcontablehb_ec").autocomplete({
            source: URI_ARISTO + "?node=" + _GET_CUENTAS + "&mod=CONTA&auto=SI&tipo=CONTABLE&seccion=",
            minLength: 1,
            select: function(event, ui) {
                if (ui.item) {
                    idContablehb = ui.item.id;
                } else {
                    idContablehb = "0";
                }
            }
        });
    });
}

function eventoLoadPanelCC() {
    load = new ajaxLoader();
    fverificaLogin();
    loadConfigDialogsSystem();
    loadCC();
    var cuerpo = $("#body-aristo");
    cuerpo.empty().load("ui/html/accounting/cc/panelConfigConcepto.html", function() {
        var $grilla_cc = $("#grilla_cc");
        $grilla_cc.datagrid(configDG_pcc);

        var panelcc = $("#panel-configurar-concepto");

        $("#btnBuscar_cc").button().click(buscarConceptos);
        $("#btnAgregar_cc").button().click(agregarConcepto);
        $("#btnCancelar_cc").button().click(salirConcepto);

        panelcc.effect('slide', 500, buscarConceptos);

        if (load)
            load.remove();
    });

    return false;
}

//evento de boton salir
function salirConcepto() {
    var panelcc = $("#panel-configurar-concepto");
    panelcc.effect('drop', 500);
    return false;
}

function buscarConceptos() {
    load = new ajaxLoader();
    var json = new Object();
    json.mod = 'CONTA';
    json.node = _GET_CONCEPTOS;
    //json.tipo = "";
    json.term = $("#txtBuscar_cc").val();
    $.ajax({
        data: json,
        type: "GET",
        dataType: "json",
        url: URI_ARISTO,
        success: function(datas) {
            if (datas.estado !== "SUCCESS") {
                mensajeAristo("error.png", datas.descripcion);
            }
            var $grilla_cc = $("#grilla_cc");
            $grilla_cc.datagrid({jsonStore: {data: {"rows": datas.data}}});
            if (load)
                load.remove();
        },
        error: ferror
    });
    return false;
}

function guardarConcepto() {
    var tipoconcepto = $("#tipoConcepto_rc").val();
    var descripcion = $.trim($("#txtdescripcion_rc").val());
    var valorunitario = $("#txtvalorunitario_rc").val();

    ($.trim($("#txtcuentapresupuestal_rc").val()) === "") ? idPresupuestal = "0" : null;
    ($.trim($("#txtcontabledb_rc").val()) === "") ? idContabledb = "0" : null;
    ($.trim($("#txtcontablehb_rc").val()) === "") ? idContablehb = "0" : null;

    if (descripcion.length > 0 && valorunitario.length > 0) {
        load = new ajaxLoader();
        var json = new Object();
        json.mod = 'CONTA';
        json.node = _POST_CONCEPTO;
        json.concepto = descripcion;
        json.monto = valorunitario;
        json.tipo = tipoconcepto;

        json.presupuestal = idPresupuestal;
        json.contabledb = idContabledb;
        json.contablehb = idContablehb;

        $.ajax({
            data: json,
            type: "POST",
            dataType: "json",
            url: URI_ARISTO,
            success: resultguardarDatosConcepto,
            error: ferror
        });
    } else {
        if (descripcion.length === 0) {
            mensajeAristo('warning.png', 'Ingrese descripcion del concepto');
        }
        if (valorunitario.length === 0) {
            mensajeAristo('warning.png', 'Ingrese valor unitario');
        }
    }
}

function resultguardarDatosConcepto(data) {
    if (data !== null) {
        if (data.estado === "SUCCESS") {
            data = data.data;
            //limpiarComponentesCuentaContable();
            $("#dialog-registrar-concepto").dialog("close");
            mensajeAristo('ok.png', data.descripcion);
            buscarConceptos();
        } else {
            $("#dialog-registrar-concepto").dialog("close");
            mensajeAristo('warning.png', data.descripcion);
        }
    } else {
        mensajeAristo('error.png', 'Error. Verificar conexi&oacute;n de internet');
    }
    if (load)
        load.remove();
}

/* ************ botont ************************* */
function agregarConcepto() {
    idPresupuestal = "0";
    idContabledb = "0";
    idContablehb = "0";
    $("#txtdescripcion_rc").val("");
    $("#txtvalorunitario_rc").val("1");
    $("#txtcuentapresupuestal_rc").val("");
    $("#txtcontabledb_rc").val("");
    $("#txtcontablehb_rc").val("");
    
    $("#dialog-registrar-concepto").dialog("open");
    return false;
}

/* ************* grid ************************ */
function editarFila_cc(ID) {
    idConceptoEditada = ID;

    var json = new Object();
    json.mod = 'CONTA';
    json.node = _GET_CONCEPTO;
    json.id = ID;
    load = new ajaxLoader();
    $.ajax({
        data: json,
        type: "POST",
        dataType: "json",
        url: URI_ARISTO,
        success: resultEditarFilaCC,
        error: ferror
    });
}

function resultEditarFilaCC(data) {
    if (data !== null) {
        if (data.estado === "SUCCESS") {
            data = data.data;
            $("#tipoConcepto_ec").val(data.tipo);
            $("#txtdescripcion_ec").val(data.concepto);
            $("#txtvalorunitario_ec").val(data.monto);

            idPresupuestal = data.idPresupuestal;
            $("#txtcuentapresupuestal_ec").val(data.desPresupuestal);

            idContabledb = data.idContabledb;
            $("#txtcontabledb_ec").val(data.desContabledb);

            idContablehb = data.idContablehb;
            $("#txtcontablehb_ec").val(data.desContablehb);
            
            $("#dialog-editar-concepto").dialog("open");
        } else {
            mensajeAristo('error.png', data.descripcion);
        }
    } else {
        mensajeAristo('error.png', 'Error. Verificar conexión de internet');
    }
    if (load)
        load.remove();
}

function guardarEdicionConcepto() {
    if (idConceptoEditada !== -1) {
        ($.trim($("#txtcuentapresupuestal_ec").val()) === "") ? idPresupuestal = "0" : null;
        ($.trim($("#txtcontabledb_ec").val()) === "") ? idContabledb = "0" : null;
        ($.trim($("#txtcontablehb_ec").val()) === "") ? idContablehb = "0" : null;

        var json = new Object(); //json eliminar de la base de datos
        json.mod = 'CONTA';
        json.node = _PUT_CONCEPTO;
        json.id = idConceptoEditada;
        json.concepto = $("#txtdescripcion_ec").val();
        json.monto = $("#txtvalorunitario_ec").val();
        json.tipo = $("#tipoConcepto_ec").val();

        json.presupuestal = idPresupuestal;
        json.contabledb = idContabledb;
        json.contablehb = idContablehb;

        if (json.concepto.length > 0 && json.monto.length > 0) {
            load = new ajaxLoader();
            $.ajax({
                data: json,
                type: "POST",
                dataType: "json",
                url: URI_ARISTO,
                success: resultadoguardarEdicionConcepto,
                error: ferror
            });
        } else {
            mensajeAristo('error.png', 'Ingrese todos los campos');
        }
    }
}

function resultadoguardarEdicionConcepto(data) {
    if (data !== null) {
        if (data.estado === 'SUCCESS') {
            data = data.data;
            $("#dialog-editar-concepto").dialog("close");
            mensajeAristo('ok.png', data.descripcion);
            buscarConceptos();
        } else {
            $("#dialog-editar-concepto").dialog("close");
            mensajeAristo('error.png', data.descripcion);
        }
    } else {
        mensajeAristo('error.png', 'Error. Verificar conexión de internet');
    }
    if (load)
        load.remove();
}

/* ************* grid ************************ */
function eliminarFila_cc(ID) {
    idConceptoEliminada = ID;
    $("#dialog-eliminar-concepto").dialog("open");
}

function eliminarConcepto() {
    if (idConceptoEliminada !== -1) {
        load = new ajaxLoader();
        var json = new Object();
        json.mod = 'CONTA';
        json.node = _DELETE_CONCEPTO;
        json.id = idConceptoEliminada;

        $.ajax({
            data: json,
            type: "POST",
            dataType: "json",
            url: URI_ARISTO,
            success: resultadoeliminarConcepto,
            error: ferror
        });
    }
}

function resultadoeliminarConcepto(data) {
    if (data !== null) {
        if (data.estado === 'SUCCESS') {
            data = data.data;
            //$("#rowCuentaCP_" + idCuentaEliminada).remove();
            $("#dialog-eliminar-concepto").dialog("close");
            mensajeAristo('ok.png', data.descripcion);
            buscarConceptos();
        } else {
            $("#dialog-eliminar-concepto").dialog("close");
            mensajeAristo('error.png', data.descripcion);
        }
    } else {
        mensajeAristo('error.png', 'Error. Verificar conexión de internet');
    }
    if (load)
        load.remove();
}